package com.engineering.elink.xaservice;

import java.util.List;
import java.util.Map;

import com.engineering.elink.co.CourseAddCo;
import com.engineering.elink.co.recruit.JobAddCo;
import com.engineering.elink.domain.Course;
import com.engineering.elink.domain.Label;
import com.engineering.elink.domain.Video;
import com.engineering.elink.domain.VideoSubtitle;
import com.engineering.elink.domain.hier.HierTitle;
import com.engineering.elink.domain.recruit.Job;
import com.engineering.elink.vo.EvaluateAddVo;

public interface EvaluateXaService {
	
	/**
	 * 
	 * 发表评价
	 */
	Map<String, Object> add(EvaluateAddVo vo);
	
	
	/**
	 * 
	 * 回复评价
	 */
	Map<String, Object> addReplyEvaluate(Integer courseId,Integer evaluateId, String userId,String content,int type);
	
	
	/**
	 * 
	 * 添加视频评论
	 */
	Map<String, Object> addVideo(Integer videoId, String userId, String content);
	
	
	/**
	 * 回复评论
	 */
	Map<String, Object> addReply(Integer videoId, Integer commentId, String userId,String content);
	
	
	
	void insertHierTitleMapper(HierTitle ht);
	
	void insertVideoLabel(Label label);
	
	void saveHierTitle(String name);
	
	/**
	 * 发布课程，在同一个数据库中多个表位于一个事务
	 */
	Integer saveCourse(CourseAddCo addCo,String userId) throws Exception;
	
	/**
	 * 更新课程
	 */
	void updateCourse(Course course,CourseAddCo addCo,String userId) throws Exception;
	
	/**
	 * 发布职位
	 */
	String saveJob(JobAddCo addCo,String userId) throws Exception;
	
	/**
	 * 修改职位
	 */
	void updateJob(Job job,JobAddCo addCo,String userId) throws Exception;
	
	/**
	 * 投递简历
	 */
	void deliveryJob(String jobId, String userId) throws Exception;
	
	void syncVideo(String cloudAddress,String userId,Video video,List<VideoSubtitle> vsList);
}
